|









| |
B API
008 确定当前 WIN95 的启动状态 98-8-11
定义:
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As
Long) As Long
Public Const SM_CLEANBOOT = 67
使用:
Select Case GetSystemMetrics(SM_CLEANBOOT)
Case 1: MsgBox "在安全模式。"
Case 2: MsgBox "在带网络环境的安全模式。"
Case Else: MsgBox "正常模式。"
End Select 
007 Windows 95/NT 运行了多长时间 98-7-16
声明:
Declare Function GetTickCount& Lib "kernel32" ()
使用该函数,可以得到从开机开时的运行时间,以 1/1000 秒记数。
006 使用未安装的字体 98-6-19
声明:
Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA"
(ByVal lpFileName As String) As Long
Declare Function RemoveFontResource Lib "gdi32" Alias
"RemoveFontResourceA" (ByVal lpFileName As String) As Long
增加字体:
Dim lResult As Long
lResult = AddFontResource("c:\myApp\myFont.ttf")
删除字体:
Dim lResult As Long
lResult = RemoveFontResource("c:\myApp\myFont.ttf")
005 隐藏和显示任务栏 98-6-06
任务栏一般是显示在窗口的最底下,但有时我们需要隐藏它。
声明:
Dim hWnd1 As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal
hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As
Long, ByVal wFlags As Long) As Long
Const SWP_HIDEWINDOW = &H80
Const SWP_SHOWWINDOW = &H40
隐藏的例子:
hWnd1 = FindWindow("Shell_traywnd", "")
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
显示的例子:
Call SetWindowPos(hwnd1, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
004 退出并关闭 Windows 98-6-06
声明:
Global Const EWX_LOGOFF = 0
Global Const EWX_REBOOT = 2
Global Const EWX_SHUTDOWN = 1
Declare Function ExitWindows Lib "User32" Alias "ExitWindowsEx" (ByVal
dwOptions As Long, ByVal dwReserved As Long) As Long
使用:
lresult = ExitWindowsEx(EWX_SHUTDOWN, 0&) '关闭计算机
lresult = ExitWindowsEx(EWX_REBOOT, 0&) '重新启动计算机
参见: 文件下载中的 X020 模拟关闭系统
003 添加记录到文档菜单 98-6-05
最近用过的文件会自动出现在文档菜单中,只要用很少的代码,在你的程序中也可实现这样的功能:
声明:
Public Const SHARD_PATH = &H2&
Public Declare Function SHAddToRecentDocs Lib "shell32.dll" (ByVal dwFlags As
Long, ByVal dwData As String) As Long
函数:
Public Sub AddRecent(strFile As String)
Dim lRetVal As Long
If strFile = "" Then
lRetVal = SHAddToRecentDocs(SHARD_PATH, vbNullString)
Else
lRetVal = SHAddToRecentDocs(SHARD_PATH, strFile)
End If
End Sub
例子:
AddRecent "C:\myfile.txt"
AddRecent "" '清除文档菜单
002 当前系统目录
声明:
Declare Function GetWindowsDirectory Lib "kernel32" Alias
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Declare Function GetSystemDirectory Lib "kernel32" Alias
"GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
例子:
Dim S As String * 80, Length As Long
Dim WinPath As String, SysPath As String
Length = GetWindowsDirectory(S, Len(S))
WinPath = Left(S, Length)
Length = GetSystemDirectory(S, Len(S))
SysPath = Left(S, Length)
WinPath 为 Windows 的所在目录,SysPath 为 System 所在目录。
001 当前操作系统的语言集
声明:
Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
例子:
Dim LocaleID As Long
LocalID = GetSystemDefaultLCID
= &H404 中文繁体(台湾)
= &H804 中文简体(大陆)
= &H409 英文 ... 
|